//package approval.dao;
//
//import java.io.Serializable;
//import java.sql.ResultSet;
//import java.util.ArrayList;
//import java.util.Hashtable;
//import java.util.List;
//import javax.faces.bean.ManagedBean;
//import javax.faces.bean.ManagedProperty;
//import javax.faces.bean.SessionScoped;
//import javax.faces.context.FacesContext;
//import javax.servlet.http.HttpSession;
//import javax.swing.tree.TreeNode;
//import model.util.UtilInitLang;
//import models.util.MySqlDataAccessHelper;
//import org.richfaces.component.UITree;
//import org.richfaces.event.TreeSelectionChangeEvent;
//
//import resource.pojo.ConfigStaticLang;
//import resource.pojo.Typedoc;
//import TemplateModel.TemplateRoot;
//
//@ManagedBean(name = "tempDAO")
//@SessionScoped
//public class TemplateDAO implements Serializable {
//	/**
//	 * 
//	 */
//	private static final long serialVersionUID = 1L;
//	private List<TreeNode> rootNodes = new ArrayList<TreeNode>();
//	private List<Typedoc> allTypeDoc = new ArrayList<Typedoc>();
//	private String script = "";
//	private String description = "";
//	private TemplateModel.Template currentSelection = null;
//	private int currentIndex;
//	private String test;
//	@ManagedProperty(value = "#{utilInitLang.getClassEntity()}")
//	private UtilInitLang utilInitLang;
//	private Hashtable<String, String> langs;
//	MySqlDataAccessHelper mysqlHelper = new MySqlDataAccessHelper();
//
//	public MySqlDataAccessHelper getMysqlHelper() {
//		return mysqlHelper;
//	}
//
//	public void setMysqlHelper(MySqlDataAccessHelper mysqlHelper) {
//		this.mysqlHelper = mysqlHelper;
//	}
//
//	public UtilInitLang getUtilInitLang() {
//		return utilInitLang;
//	}
//
//	public void setUtilInitLang(UtilInitLang utilInitLang) {
//		this.utilInitLang = utilInitLang;
//	}
//
//	public Hashtable<String, String> getLangs() {
//		langs = getUtilInitLang().getLangs();
//		return langs;
//	}
//
//	public void setLangs(Hashtable<String, String> langs) {
//		this.langs = langs;
//	}
//
//	public TemplateDAO() {
//
//	}
//
//	public void initTree() {
//		mysqlHelper.open();
//		try {
//			ResultSet rs = null;
//			String sql = "select * from template";
//			rs = mysqlHelper.executeQuery(sql);
//			TemplateRoot t = getTemplateRoot();
//			while (rs.next()) {
//				TemplateModel.Template templ = new TemplateModel.Template(
//						rs.getInt("IDConfigStaticLang"), t);
//				ConfigStaticLang conf = templ.getConfigStaticLang();
//				if (conf != null) {
//					templ.setiDTemplate(rs.getInt("IDTemplate"));
//					templ.setTemplateName(conf.getNameByLang());
//					templ.setDescription(rs.getString("Description"));
//				} else {
//					templ.setiDTemplate(rs.getInt("IDTemplate"));
//					templ.setTemplateName(rs.getString("TemplateName"));
//					templ.setDescription(rs.getString("Description"));
//				}
//				t.getTemplates().add(templ);
//			}
//			rootNodes.add(t);
//		} catch (Exception e) {
//			e.printStackTrace();
//		} finally {
//			mysqlHelper.close();
//		}
//	}
//
//	private TemplateRoot getTemplateRoot() {
//		TemplateRoot t = new TemplateRoot();
//		t.setName(getLangs().get("Template"));
//		return t;
//	}
//
//	public void selectionChanged(TreeSelectionChangeEvent selectionChangeEvent) {
//
//		List<Object> selection = new ArrayList<Object>(
//				selectionChangeEvent.getNewSelection());
//		Object currentSelectionKey = selection.get(0);
//		UITree tree = (UITree) selectionChangeEvent.getSource();
//
//		Object storedKey = tree.getRowKey();
//		tree.setRowKey(currentSelectionKey);
//		Object obj = tree.getRowData();
//		if (obj instanceof TemplateModel.Template)
//			currentSelection = (TemplateModel.Template) tree.getRowData();
//		if (currentSelection != null)
//			setAllTypeDoc(currentSelection.getAllTypeDoc());
//		tree.setRowKey(storedKey);
//
//	}
//
//	public void dblClickTypeDoc() {
//		System.out.println("#########################");
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//		Typedoc t = allTypeDoc.get(this.currentIndex);
//		ss.setAttribute("TypeDoc", t);
//		ss.setAttribute("new", new Boolean(true));
//		Object obj = ss.getAttribute("Group");
//		if (obj != null)
//			ss.removeAttribute("Group");
//	}
//
//	public String getDescription() {
//		return description;
//	}
//
//	public void setDescription(String description) {
//		this.description = description;
//	}
//
//	public List<TreeNode> getRootNodes() {
//		rootNodes.clear();
//		initTree();
//		return rootNodes;
//	}
//
//	public void setRootNodes(List<TreeNode> rootNodes) {
//		this.rootNodes = rootNodes;
//	}
//
//	public List<Typedoc> getAllTypeDoc() {
//		return allTypeDoc;
//	}
//
//	public void setAllTypeDoc(List<Typedoc> allTypeDoc) {
//		this.allTypeDoc = allTypeDoc;
//	}
//
//	public TreeNode getCurrentSelection() {
//		return currentSelection;
//	}
//
//	public void setCurrentSelection(TemplateModel.Template currentSelection) {
//		this.currentSelection = currentSelection;
//	}
//
//	public String getScript() {
//		return script;
//	}
//
//	public void setScript(String script) {
//		this.script = script;
//	}
//
//	public int getCurrentIndex() {
//		return currentIndex;
//	}
//
//	public void setCurrentIndex(int currentIndex) {
//		this.currentIndex = currentIndex;
//	}
//
//	public String getTest() {
//		return test;
//	}
//
//	public void setTest(String test) {
//		this.test = test;
//	}
//
//}
